/**
 * 
 */
package gui;

import helden.plugin.werteplugin.PluginZauberInfo;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;

import javax.swing.JCheckBox;

import backend.AktiverZauber;

import main.Controller;

/**
 * @author Christian
 * 
 */
public class UpdateZauberController implements ActionListener {
	
	/**
	 * 
	 */
	private PluginZauberInfo zauber = null;
	
	/**
	 * 
	 */
	private UpdateAlleZauberPanel panel = null;
	
	/**
	 * 
	 */
	private HashMap<JCheckBox, AktiverZauber> checkBoxMap = null;
	
	/**
	 * @param panel
	 *            Das UpdatePanel
	 * @param zauber
	 *            Zauber
	 * @param checkBoxMap
	 *            Checkbox
	 */
	public UpdateZauberController(UpdateAlleZauberPanel panel, PluginZauberInfo zauber,
			HashMap<JCheckBox, AktiverZauber> checkBoxMap) {

		this.zauber = zauber;
		this.panel = panel;
		this.checkBoxMap = checkBoxMap;
		this.panel.getJAlleRepraesentationCheckBox();
	}
	
	/**
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
	 * @param e
	 *            Event
	 */
	@Override
	public void actionPerformed(ActionEvent e) {

		for (JCheckBox checkBox : checkBoxMap.keySet()) {
			if (checkBox.isSelected()) {
				PluginZauberInfo newZauber = checkBoxMap.get(checkBox).getZauber();
				newZauber.setAnmerkungen(zauber.getAnmerkungen());
				newZauber.setKommentar(zauber.getKommentar());
				newZauber.setKosten(zauber.getKosten());
				newZauber.setReichweite(zauber.getReichweite());
				newZauber.setWirkungsdauer(zauber.getWirkungsdauer());
				newZauber.setZauberdauer(zauber.getZauberdauer());
			}
		}
		Controller.getGuiController().zeigeHauptfenster();
	}
}
